{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# This allows multiple outputs from a single jupyter notebook cell:\n",
    "from IPython.core.interactiveshell import InteractiveShell\n",
    "InteractiveShell.ast_node_interactivity = \"all\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "-rw-rw-rw- 1 dino dino  33851 Feb 10 18:19 ../data/SP500_20191106_IDayBollinger.csv\r\n",
      "-rw-rw-rw- 1 dino dino   1097 Feb 10 18:19 ../data/SP500_NOV2019_Hist.csv\r\n",
      "-rw-rw-rw- 1 dino dino  78853 Feb 10 18:19 ../data/SP500_NOV2019_IDay.csv\r\n",
      "-rw-rw-rw- 1 dino dino  35001 Feb 10 18:19 ../data/SPY_20110701_20120630_Bollinger.csv\r\n",
      "-rw-rw-rw- 1 dino dino 239788 Feb 10 18:19 ../data/yahoofinance-AAPL-20040819-20180120.csv\r\n",
      "-rw-rw-rw- 1 dino dino 250345 Feb 10 18:19 ../data/yahoofinance-GOOG-20040819-20180120.csv\r\n",
      "-rw-rw-rw- 1 dino dino 161639 Feb 10 18:19 ../data/yahoofinance-INTC-19950101-20040412.csv\r\n",
      "-rw-rw-rw- 1 dino dino 189400 Feb 10 18:19 ../data/yahoofinance-SPY-20080101-20180101.csv\r\n"
     ]
    }
   ],
   "source": [
    "%ls -l ../data/*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.read_csv('../data/SP500_NOV2019_Hist.csv',index_col=0,parse_dates=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2019-11-06 3076.78\n",
      "2019-11-12 3091.84\n",
      "2019-11-20 3108.46\n",
      "2019-11-26 3140.52\n"
     ]
    }
   ],
   "source": [
    "x = df['Close']\n",
    "for nn in [3,7,13,17]:\n",
    "    print(x.index[nn].date(),x.iloc[nn])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('2019-11-06', 3076.78),\n",
       " ('2019-11-12', 3091.84),\n",
       " ('2019-11-20', 3108.46),\n",
       " ('2019-11-26', 3140.52)]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sp = [('2019-11-06',3076.78),('2019-11-12',3091.84),('2019-11-20',3108.46),('2019-11-26',3140.52)]\n",
    "sp"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [],
   "source": [
    "def list_of_tuples_of_len_two(obj):\n",
    "    if not isinstance(obj,(list,tuple)):\n",
    "        return False\n",
    "    return all( [ isinstance(x,(tuple,list)) and len(x)==2 for x in obj ] )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 84,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "list_of_tuples_of_len_two(sp)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [],
   "source": [
    "temp = sp.copy()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [],
   "source": [
    "temp[2] = [temp[2][0],temp[2][1]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('2019-11-06', 3076.78),\n",
       " ('2019-11-12', 3091.84),\n",
       " ['2019-11-20', 3108.46],\n",
       " ('2019-11-26', 3140.52)]"
      ]
     },
     "execution_count": 87,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "temp"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 88,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "list_of_tuples_of_len_two(temp)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "metadata": {},
   "outputs": [],
   "source": [
    "def showstar(*arg):\n",
    "    for a in arg:\n",
    "        print('type(a)=',type(a))\n",
    "        print('a=',arg)\n",
    "    zz = zip(arg)\n",
    "    print('zip(arg)=',zz)\n",
    "    for z in zz:\n",
    "        print('z=',z)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('2019-11-06', 3076.78),\n",
       " ('2019-11-12', 3091.84),\n",
       " ('2019-11-20', 3108.46),\n",
       " ('2019-11-26', 3140.52)]"
      ]
     },
     "execution_count": 104,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sp"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "type(a)= <class 'list'>\n",
      "a= ([('2019-11-06', 3076.78), ('2019-11-12', 3091.84), ('2019-11-20', 3108.46), ('2019-11-26', 3140.52)],)\n",
      "zip(arg)= <zip object at 0x7f8199f9de60>\n",
      "z= ([('2019-11-06', 3076.78), ('2019-11-12', 3091.84), ('2019-11-20', 3108.46), ('2019-11-26', 3140.52)],)\n"
     ]
    }
   ],
   "source": [
    "showstar(sp)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "type(a)= <class 'tuple'>\n",
      "a= (('2019-11-06', 3076.78), ('2019-11-12', 3091.84), ('2019-11-20', 3108.46), ('2019-11-26', 3140.52))\n",
      "type(a)= <class 'tuple'>\n",
      "a= (('2019-11-06', 3076.78), ('2019-11-12', 3091.84), ('2019-11-20', 3108.46), ('2019-11-26', 3140.52))\n",
      "type(a)= <class 'tuple'>\n",
      "a= (('2019-11-06', 3076.78), ('2019-11-12', 3091.84), ('2019-11-20', 3108.46), ('2019-11-26', 3140.52))\n",
      "type(a)= <class 'tuple'>\n",
      "a= (('2019-11-06', 3076.78), ('2019-11-12', 3091.84), ('2019-11-20', 3108.46), ('2019-11-26', 3140.52))\n",
      "zip(arg)= <zip object at 0x7f8199f9d4b0>\n",
      "z= (('2019-11-06', 3076.78),)\n",
      "z= (('2019-11-12', 3091.84),)\n",
      "z= (('2019-11-20', 3108.46),)\n",
      "z= (('2019-11-26', 3140.52),)\n"
     ]
    }
   ],
   "source": [
    "showstar(*sp)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('2019-11-06', '2019-11-12', '2019-11-20', '2019-11-26'),\n",
       " (3076.78, 3091.84, 3108.46, 3140.52)]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lp = list(zip(*sp))\n",
    "lp"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "s = pd.Series(lp[1],index=lp[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2019-11-06    3076.78\n",
       "2019-11-12    3091.84\n",
       "2019-11-20    3108.46\n",
       "2019-11-26    3140.52\n",
       "dtype: float64"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "sbase = pd.Series([np.nan]*len(df.index),index=df.index)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Date\n",
       "2019-11-01   NaN\n",
       "2019-11-04   NaN\n",
       "2019-11-05   NaN\n",
       "2019-11-06   NaN\n",
       "2019-11-07   NaN\n",
       "2019-11-08   NaN\n",
       "2019-11-11   NaN\n",
       "2019-11-12   NaN\n",
       "2019-11-13   NaN\n",
       "2019-11-14   NaN\n",
       "2019-11-15   NaN\n",
       "2019-11-18   NaN\n",
       "2019-11-19   NaN\n",
       "2019-11-20   NaN\n",
       "2019-11-21   NaN\n",
       "2019-11-22   NaN\n",
       "2019-11-25   NaN\n",
       "2019-11-26   NaN\n",
       "2019-11-27   NaN\n",
       "2019-11-29   NaN\n",
       "dtype: float64"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sbase"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "pandas.core.indexes.base.Index"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(s.index)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "s.index = pd.to_datetime(s.index)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "pandas.core.indexes.datetimes.DatetimeIndex"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(s.index)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "t = pd.to_datetime(s.index)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [],
   "source": [
    "z = t == s.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [],
   "source": [
    "z[2] = False"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "all(z)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2019-11-01        NaN\n",
       "2019-11-04        NaN\n",
       "2019-11-05        NaN\n",
       "2019-11-06    3076.78\n",
       "2019-11-07        NaN\n",
       "2019-11-08        NaN\n",
       "2019-11-11        NaN\n",
       "2019-11-12    3091.84\n",
       "2019-11-13        NaN\n",
       "2019-11-14        NaN\n",
       "2019-11-15        NaN\n",
       "2019-11-18        NaN\n",
       "2019-11-19        NaN\n",
       "2019-11-20    3108.46\n",
       "2019-11-21        NaN\n",
       "2019-11-22        NaN\n",
       "2019-11-25        NaN\n",
       "2019-11-26    3140.52\n",
       "2019-11-27        NaN\n",
       "2019-11-29        NaN\n",
       "dtype: float64"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s.combine_first(sbase)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "import mplfinance as mpf"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdIAAAFXCAYAAAAWHc9dAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3de1yVBZ7H8e854AEBFdRA42IokVpj2+SNzNx0GtGYmq6DVJibrxltdBtf3oqGjLXaxkZtTNmtbWckL9UU2k2E3JxX7VTiJS/rTIwJSCrlBTABuZ9n/3A9myMo+JznXODzfr14Cec55/B7fh748ntux2YYhiEAAHBZ7N4uAAAAf0aQAgBgAkEKAIAJBCkAACYQpAAAmBDo7QKs1L17dzU2NqpHjx7eLgUA4Keqq6vlcDhUV1fX6vJOHaSNjY1yOp1yOn3jDB+bzSbONrIGvbUW/bUW/bWOO3rrdDrV2NjY5vJOHaQ9evSQ02lo91/LvF2KJCk6MkxHj9d4u4xOid5ai/5ai/5axx29vWHoANnttjaXs48UAAATCFIAAEwgSAEAMIEgBQDABIIUAAATCFIAAEwgSAEAMIEgBQDABIIUAAATCFIAAEwgSAEAMIEgBQC4TUJshBJiI7xdhkd16ovWAwC8o60wPXi4ysOVWI+JFAAAE5hIAQBu1xknz7YwkQIAYAJBCgCACQQpAAAmEKQAAJhAkAIAYAJBCgCACQQpAMDn+NMVkghSAABMIEgBADCBIAUAwASCFAAAEwhSAABMIEgBADCBd38BAHiNv5zicjFMpAAAmMBECgDwmrbet9SfJlUmUgAATGAiBQBcFn+aGq3ERAoAgAlMpACAy9La/s2uOKUykQIAYAJBCgCACQQpAAAmEKQAAJjAwUYAALdp6wILnRkTKQAAJhCkAABJZ09d6Yqnr5hFkAIAYIJHg7SgoEB33nmnkpOTNWXKFB04cECSVFFRoWnTpum2225r9XFOp1P33XefHn/8cddtRUVFSk1N1cSJE5WamqqioiKPrAMAAN/nsSAtLy/XokWLlJ2drfz8fCUnJysjI0OnTp3SAw88oMTExDYf+/rrr6uiouK82+bMmaPp06eroKBADz/8sObPn2/1KgAAPOzc5ua///AlHgvSwMBALV26VNHR0ZKkpKQklZaWymazKTs7W+PHj2/1ccePH9eaNWs0depU121/+9vfVF1drR/96EeSpOTkZFVUVKi4uNj6FQGATs7Xg8vXeOz0l8jISEVGRkqSmpubtXHjRk2YMEG9evVSr169dOLEiVYf99xzz2nWrFlqbGx03Xbo0CHFxMScd7/Y2FiVlJRo0KBB1q0EAMCj/OF0Go+fR5qTk6Ps7GzFxcVp1apVF73vJ598otOnTyslJUUbNmxw3V5XV6egoKDz7hsUFKQzZ85c8Bw2m03RkWHuKd4kR2CAz9TS2dBba9Ffa/laf+samrxdgovZvrijt3a77aLLPR6kU6dOVXp6ujZt2qTU1FTl5eUpODj4gvvV19dryZIlrYZtSEiIGhoaLrh/aGjoBfc1DENHj9e4bwVMiI4M85laOht6ay36ay1f629nqsUdvXU6jYuGqceCtLi4WMeOHdNNN90km82mlJQULV68WKWlpRoyZMgF99+/f7++/fZbpaWlSToblE1NTaqsrNSCBQt06NAhOZ1O2e12NTc369ChQ2zWBYBOwh826Z7jsSA9F4C5ubmKiorSrl271NTUpNjY2FbvP3z4cO3cudP19YYNG7R9+3Y9//zzkqQrrrhCH3zwge644w698847iomJUXx8vEfWBQCAczwWpCNGjNCMGTM0bdo0OZ1OORwOLV++XNu3b9eSJUtUX1+vkydPKjk5WVFRUcrJybno8/32t79VZmamVq5cqT59+uiFF17w0JoAAPD/bIZhGN4uwirh4eFyOg3t/muZt0uR5Hv7QToTemst+mstX+nvudNc/Gmz6qW4o7c3DB0gu92mU6dOtbqcSwQCAGACQQoAgAkEKQAAJhCkAACYQJACAGACQQoAgAkEKQAAJnj8WrsAAO/ibdHci4kUAAATmEgBoItp68pFTKqXhyAFAD93qQDsTJf880Vs2gUAwAQmUgDoJJg8vYOJFAAAEwhSAABMIEgBADCBIAUAwAQONgIASOJgpcvFRAoAgAkEKQAAJhCkAACYQJACAGACQQoAgAkEKQAAJhCkAACYwHmkAHzOxd4WjHMd4WuYSAH4Fd58Gr6GiRSAz2lr6iRE4YuYSAEAMIEgBQDABIIUAAATCFIAAEwgSAEAMIEgBQDABIIUAAATCFIAHpEQG8F5oOiUCFIAAEwgSAEAMIEgBQDABK61C8CjWttPyju6wJ8xkQIAYIJHJ9KCggJlZ2eroaFBERERysrKUmJioioqKjRv3jwdOXJEW7Zscd2/pqZGTz/9tPbv3y/DMDR58mQ99thjkqTy8nI9+eSTKi8vV0hIiBYuXKjRo0d7cnUAXAamT3Q2HptIy8vLtWjRImVnZys/P1/JycnKyMjQqVOn9MADDygxMfGCxyxbtkzdunVTXl6ecnNz9f777+vTTz+VJGVmZmrcuHEqKChQVlaW5s6dq/r6ek+tDgAAkjwYpIGBgVq6dKmio6MlSUlJSSotLZXNZlN2drbGjx9/wWNuu+02/fM//7PsdrvCwsI0ePBgffXVV6qurlZhYaHuv/9+SdKwYcPUv39/FRYWemp1gC6le1A313mgf/8BdHUe27QbGRmpyMhISVJzc7M2btyoCRMmqFevXurVq5dOnDhxwWOSkpJcn9fU1Gj37t165JFHVFZWpoiICIWEhLiWx8XFqbS0VOPGjbN+ZYAuxBfDsq2a2GwMb/D4Ubs5OTnKzs5WXFycVq1a1a7HNDY2au7cuRo/frxuuOEG7dy5U0FBQefdJygoSGfOnLngsTabTdGRYW6p3SxHYIDP1NLZ0Fvr1TU0ueV5rPx/8tfXgLtev/66/lZyR2/tdttFl3s8SKdOnar09HRt2rRJqampysvLU3BwcJv3r62t1ezZsxUVFaWsrCxJUvfu3dXQ0HDe/err68+bUM8xDENHj9e4dyUuU3RkmM/U0tnQW+u5q7/ueJ62Jk9/fQ246/Xrr+tvJXf01uk0LhqmHttHWlxcrM8++0zS2SkxJSVFtbW1Ki0tbfMxzc3NmjVrlhISEvSv//qvstvPljtgwABVVVXp9OnTrvsePHhQCQkJ1q4EAAB/x2NBWllZqQULFujYsWOSpF27dqmpqUmxsbFtPmbNmjUKDQ1VRkbGebeHhYVpzJgxWrdunSTp888/V1VVlUaOHGndCgDoNDhQCu7ksU27I0aM0IwZMzRt2jQ5nU45HA4tX75c27dv15IlS1RfX6+TJ08qOTlZUVFRysnJ0RtvvKG6ujolJye7nic5OVm/+tWvlJWVpYULF2rDhg0KCwvTihUr5HA4PLU6AABI8vA+0gcffFAPPvjgBbe3duqLdPYCDm3p16+fcnJy3FYbAPdg0kNXw7V2AcCP8IeK7yFIAbhVW0fUEgDW4hxa7yFIAcCPEJi+h3d/AQDABIIUAAATCFIAAEwgSAEAMIGDjQB0WhwpDE9gIgUAwAQmUgCdFue0whOYSAEAMIGJFIDf4GIE8EVMpADgRQmxEeoe1M3bZcAEghQAABMIUgAATGAfKQCP6Or7NzlSuPNiIgUAwAQmUgDwAM5p7bwIUgDwAa0FalffHO4v2LQLAJchITaCaRKSmEgBwCcwffovJlIAAEwgSAEAMIFNuwC6rPYe4MO+UFxMh4LU6XTqT3/6k4qLi/XjH/9YvXv31unTpxUTE2NVfQA8hLAALk+7g/Sbb77Rgw8+qPLycknS0KFDdfLkSf3iF7/QH/7wBw0bNsyyIgHACu09wIcpFRfT7n2kGRkZqq+v16OPPirDMCRJERERCgkJ0QsvvGBZgQA84+DhqlY/AFxcu4N09+7deuSRRzRlyhTXbYMGDVJ6erq+/PJLS4oDAMDXtTtIIyIiVF5eLpvNJkmuf/fv36/Q0FBrqgMAwMe1ex9pUlKS1q1bp+3bt8tms+nFF1/UU089pfLyct17771W1ggAgM9qd5AuXLhQX3/9tXbu3ClJ+p//+R9J0vDhw7VgwQJrqgMAwMe1O0h79eqltWvXqqioSCUlJQoODlZ8fLzi4+OtrA8AAJ/WoSsb7dq1S0VFRZo8ebLGjx+vzZs3q7Cw0KraAADwee0O0q1bt2rq1KnnBeef//xnTZs2TVu3brWkOADed/BwleoamrxdBuCz2h2kK1euVL9+/XTfffe5bnvssccUExOjVatWWVIcAAC+rt37SEtKSjRnzhz98Ic/dN02atQopaWl6Xe/+50lxQGAr2vrCkdczKLraPdEGh4erk8++UR1dXWu26qrq/XRRx8pLCzMkuIAAPB17Z5IU1NT9eKLL2r06NG68sor5XQ6VV5erubmZv3iF7+wskYA8FlMnmh3kP785z9XdXW11q5dq9LS0rMPDgxUWlqaZs+ebVmBAAD4snYHqd1u1/z58/XYY4+prKxMLS0tio2N5fKAwPec21/GlAJ0HRcN0h07dig+Pl59+/bVjh07Llj+17/+1fX5iBEj3F8dAAA+7qJBmp6ermeeeUb33HOPHnroIdeF6v+ezWY7L1TbUlBQoOzsbDU0NCgiIkJZWVlKTExURUWF5s2bpyNHjmjLli2u+zc2NiorK0s7d+5UQECAUlNTlZ6eLkkqLy/Xk08+qfLycoWEhGjhwoUaPXp0R9YdAADTLhqkw4cPV9++fSWZnzjLy8u1aNEi5ebmKjo6Wjk5OcrIyNCrr76qBx54QOPGjdORI0fOe8zq1av13XffafPmzfruu+90zz336IYbbtAPfvADZWZmaty4cXr44Ye1b98+zZw5Ux999JGCg4NN1QkAQEdcNEjXrFnT6ueX9Y0CA7V06VJFR0dLOvtuMitWrJDNZlN2drZOnDhxwRWS8vPz9atf/Up2u10RERFKTk5Wfn6+rrrqKhUWFuqll16SJA0bNkz9+/dXYWGhxo0bZ6pOAAA6ot3nkd5www1at27dZX+jyMhIjRkzRpLU3NysjRs3asKECerVq5cGDhzY6mNKS0sVFxfn+jouLk4lJSUqKytTRESEQkJCzlt27mhiAAA8pd1H7Y4dO1aFhYVKS0trc19pe+Tk5Cg7O1txcXGXvLRgfX29goKCXF8HBwerrq7ugtslKSgoSGfOnLngOWw2m6IjfeOCEY7AAJ+ppbPxtd76Ui3u4Gv9dRd3rJO7+tIZ++sL3PHatdsvnnntDtI+ffooPz9ft9xyixITE9W9e3fXMpvN5trMeilTp05Venq6Nm3apNTUVOXl5bW5X7N79+5qaGhwfV1XV6eQkJALbpfOhu73J9RzDMPQ0eM17arNatGRYT5TS2fja731pVrcwdf66y7uWCd39aUz9tcXuOO163QaFw3Tdgfp66+/7vr8xIkT5y1rz4RaXFysY8eO6aabbpLNZlNKSooWL16s0tJSDRkypNXHDBw4UCUlJbrqqqskSQcPHlRCQoIGDBigqqoqnT59Wj179nQtu+eee9q7OgDgEw4eruq0f6h0Fe0O0ueee87UJt3KykotWLBAubm5ioqK0q5du9TU1KTY2Ng2HzNp0iStX79e48aNU0VFhQoKCvTqq68qLCxMY8aM0bp16zRz5kx9/vnnqqqq0siRIy+7PgAALke7gzQlJUXNzc2tbj5tjxEjRmjGjBmaNm2anE6nHA6Hli9fru3bt2vJkiWqr6/XyZMnlZycrKioKOXk5Cg9PV0lJSVKTk5WQECAZs2apcGDB0uSsrKytHDhQm3YsEFhYWFasWKFHA7HZdUGAMDlshmGYVzsDrW1tfr1r3+tLVu2yOl0auTIkXruued05ZVXeqrGyxYeHi6n09Duv5Z5uxRJnXc/ky/wld666xKBvvY8vtJfd3FHX9x5OcjO1l9f4o7e3jB0gOx2m06dOtXq8kue/pKdna3NmzerpaVFdrtd27Zt07x580wVBZyTEBvR5vs5AoA/uGSQvv/++7r++uu1bds27dmzR+np6dq9e7eKi4s9UR8AAD7tkkF68uRJ/eQnP1GvXr0UGBiohx56SIZh6Pjx456oD4AbnJv8v/8BwD0uGaROp/O88zzPnT/a0tJiXVUAAPiJdh2129DQoJqasztrz/1bX1/v+lySwsK4Kgfgq3h/VMA67QrSZ555Rs8884zra5vNptmzZ5/3dXveRg0AgM6mXUF6iTNkLrkcAIDO6pJBWlRU5Ik6AADwS+2+shEAz2vr6Fr2eXof/wc4p93vRwoAAC7ERAr4MKYewPcRpOgUugd1a3MZYQTASmzahd/jKj0AvImJFJ0GkycAbyBIAQtwtC3QdbBpFwAAE5hIAQswefo2/n/gTgQp0AlwwBXgPWzaBQDABCZSoBNoa1MlkypgPYIUuEyEFACJTbsAAJjCRApcptY2pzKlAl0PEykAACYQpMD/SYiNYKIE0GEEKQAAJrCPFB7hT5Me18kF0BFMpAAAmMBECo/wpwsGMHkC6AgmUgAATCBIAQAwgU278Akc4APAXzGR+hHOcwQA38NECp/QWSbPjq4HfxgB/o+JFAAAE5hIu6BzU1BnmQL9mT+dFgSgdUykAACYwEQKdGJsdQCsx0QKAIAJBCkAACYQpAAAmODRfaQFBQXKzs5WQ0ODIiIilJWVpcTERK1evVpvvvmmnE6nhg8frkWLFsnhcOjEiRN66qmnVFJSooCAAP30pz/Vz3/+c0lSUVGRnn76aVVVVSkiIkJPP/20Bg8e7MnVgRdwNCsAX+OxibS8vFyLFi1Sdna28vPzlZycrIyMDO3Zs0evvfaa3nzzTW3evFkVFRVau3atJOn5559XfHy8CgoK9Mc//lG5ubn67LPPJElz5szR9OnTVVBQoIcffljz58/31Kr4jXNXQvr7DwCA+3gsSAMDA7V06VJFR0dLkpKSklRaWqr8/HxNnjxZPXv2lN1u15QpU7R582ZJ0oEDB5SUlCRJCgsL03XXXacDBw7ob3/7m6qrq/WjH/1IkpScnKyKigoVFxd7anXgJQcPV13w0VH8gQHAnTwWpJGRkRozZowkqbm5WRs3btSECRN06NAhxcXFue4XGxurkpISSWfDNj8/X83NzTp27Jj27t2r0aNH69ChQ4qJiTnv+b//OJzVWuhwOgQAuJfHzyPNyclRdna24uLitGrVKs2fP18Oh8O1PDg4WHV1dZKk2bNnKy0tTaNHj9aZM2f0T//0Txo8eLCKiooUFBR03vMGBQXpzJkzF3w/m82m6Mgwa1eqnRyBAW6pxV3r4wt9qWtocttztXd92vqe3YO6deh5PMFXanHXaxeto7/WcUdv7XbbRZd7PEinTp2q9PR0bdq0SampqRowYIAaGxtdy+vq6hQSEiJJeuKJJzRx4kT98pe/1Hfffafp06crLy9PISEhamhoOO956+vrFRoaesH3MwxDR4/XWLtS7RQdGeaWWty1Pr7SF3fpjH3xlVrc9dpF6+ivddzRW6fTuGiYemzTbnFxsetAIZvNppSUFNXW1spms523SfbgwYNKSEiQJH366adKSUmRzWZTeHi4xowZox07dmjgwIE6dOiQnE6npLObig8dOqRBgwZ5anUsxz48APAPHgvSyspKLViwQMeOHZMk7dq1S01NTZo5c6braN3m5matX79et99+uyQpPj5ef/rTnySdnTgLCwt19dVXKyEhQVdccYU++OADSdI777yjmJgYxcfHe2p1vIqDZTo/9mcD/sNjm3ZHjBihGTNmaNq0aXI6nXI4HFq+fLlGjBihRx55RGlpaTIMQzfddJOmTJki6ezpL4sXL9Ybb7whwzA0duxY3X///ZKk3/72t8rMzNTKlSvVp08fvfDCC55aFY9o7ZeoL4Ul7yADAGfZDMMwvF2EVcLDw+V0Gtr91zJvlyLJ/LZ6d4WXO57Hl4LUl/rSWbEPz1r01zru6O0NQwfIbrfp1KlTrS7nEoEAAJjA26jBlLY2NzPVAegqmEgBADCBiRSmMHkC6OqYSAEAMIGJFPg/TNcALgdBikvypfNXAcDXEKR+xN0TU2sByVQGAB1DkOKSfP0qSwDgTQRpF8b0CQDmcdQu/N7Bw1VufV9TAOgIghQAABMIUgAATCBIAQAwgYONuiAOMgIA92EiBQDABIIUAAATCFIAAEwgSAEAMIEgBQDABIIUAAATCFIAAEwgSAEAMIEgBQDABIIUAAATCFIAAEzgWrse1D2oW6u3c+1bAPBfTKQekhAb4e0SAAAWYCL1MKZPAOhcmEgBADCBiRSXhckaAM5iIgUAwASCFAAAEwhSAABMIEgBADCBIAUAwASCFAAAEwhSAABMIEgBADCBIAUAwASCFAAAEzwapAUFBbrzzjuVnJysKVOm6MCBA5Kk1atXa9KkSZo4caKefPJJNTY2uh6zfv16jR8/XmPHjtVTTz2lpqYmSVJ5ebmmTZumiRMn6q677tK2bds8uSoAAEjyYJCWl5dr0aJFys7OVn5+vpKTk5WRkaE9e/botdde05tvvqnNmzeroqJCa9eulSTt3LlTq1ev1ttvv62tW7eqtrZWX3zxhSQpMzNT48aNU0FBgbKysjR37lzV19d7anUAAJDkwSANDAzU0qVLFR0dLUlKSkpSaWmp8vPzNXnyZPXs2VN2u11TpkzR5s2bJUkbNmzQz372M/Xu3VvdunXT0qVLNWrUKFVXV6uwsFD333+/JGnYsGHq37+/CgsLPbU6AABI8mCQRkZGasyYMZKk5uZmbdy4URMmTNChQ4cUFxfnul9sbKxKSkokSUVFRTpz5ozS0tI0ceJELVu2TC0tLSorK1NERIRCQkJcj4uLi1NpaamnVgcAAEleeBu1nJwcZWdnKy4uTqtWrdL8+fPlcDhcy4ODg1VXVydJqq6u1q5du/TKK6+osbFRU6dOVWxsrOLj4xUUFHTe8wYFBenMmTMXfD+bzaboyDBrV6oDfKmWzsQRGEBvLUR/rUV/reOO3trttosu93iQTp06Venp6dq0aZNSU1M1YMCA8w4uqqurc02aPXr00O23366wsLNNuPvuu/XnP/9ZQ4cOVUNDw3nPW19ff96Eeo5hGDp6vMbCNeoYX6qlM4mODKO3FqK/1qK/1nFHb51O46Jh6rFNu8XFxfrss88knZ0SU1JSVFtbK5vN5tqUK0kHDx5UQkKCJCkmJkY1Nf/fALvdroCAAA0YMEBVVVU6ffp0q48DAMBTPBaklZWVWrBggY4dOyZJ2rVrl5qamjRz5kzX0brNzc1av369br/9dknSnXfeqT/+8Y+qrq5WfX293nvvPSUlJSksLExjxozRunXrJEmff/65qqqqNHLkSE+tDgAAkjy4aXfEiBGaMWOGpk2bJqfTKYfDoeXLl2vEiBF65JFHlJaWJsMwdNNNN2nKlCmSpAkTJqi4uFgpKSkKDg7W+PHjdffdd0uSsrKytHDhQm3YsEFhYWFasWLFeftaAQDwBJthGIa3i7BKeHi4nE5Du/9a5u1SlBAbIUk6eLjKy5V0Tuxjshb9tRb9tY47envD0AGy2206depUq8u5RCAAACYQpAAAmECQAgBgAkEKAIAJBCkAACYQpAAAmECQAgBgAkEKAIAJBCkAACYQpAAAmECQAgBgAkEKAIAJBCkAACYQpAAAmECQAgBgAkEKAIAJBCkAACYEeruAziYhNsLbJQAAPIiJ1IPqGpq8XQIAwM2YSN3s4OEqb5cAAPAgJlIAAEwgSAEAMIEgBQDABIIUAAATCFIAAEwgSAEAMIEgBQDABIIUAAATCFIAAEwgSAEAMMFmGIbh7SKsEhAQIKfTqR49enq7FEmS3W6T09lp2+1V9NZa9Nda9Nc67uhtdfVp2e12tbS0tLq8U19r1+FwqLGxUXa7zduluPhSLZ0NvbUW/bUW/bWO2d7a7XY5HI42l3fqiRQAAKuxjxQAABMIUnQZbHyBv+K169sIUh/CD4u1bDb2QVmluLhYTqfT22V0Wrx2fVunPtjIXxw+fFixsbGy2WwyDIMfGjdbt26dqqqqdP3112vIkCHq27evt0vqVObMmaPevXsrMzPT26V0OqtXr1ZlZaWGDx+ua6+9Vn369PF2SWhFwNNPP/20t4voyrKysvTWW28pOjpaMTExhKmbPf744/rqq6/UrVs3ffzxxwoKCtKQIUPosZtkZmaqpqZGv/nNb7xdSqezcOFCFRcXKygoSFu3blW3bt107bXX8tr1QUykXnb8+HH1799fubm5MgxDo0ePJkzd5MMPP9Thw4e1bt06SdLvf/97vf/++7rrrrvorRs899xz+uKLL7Rp0yZJ0kcffaQTJ06ob9++uvrqqzVgwAAvV+i/PvvsMx09elRr166VJP3nf/6n1q5dqzvvvPOip2HAO9hH6kVVVVVqaGjQzTffrPDwcL311lvatm2bJLnCFJevZ8+e6tevnyorKyVJt956q2pra/Xss89q9erVKi4u9nKF/qu6ulqGYejmm2/WyZMntW7dOv3ud7/Tzp079frrr+v555/Xl19+6e0y/ZbD4VBYWJhOnjwpSZoyZYocDocqKyv5veCD2LTrRd27d9eAAQM0btw4RURE6Ouvv9auXbvUs2dP1z7T6upqBQUFebtUv9Tc3Kw1a9boxIkT+uqrr5SZmakf//jHioyM1IEDB3TkyBHdeOONstvtTKgdFBQUpOjoaO3evVsff/yx/vKXv+ill17SXXfdpWuvvVaHDx/W8ePH9cMf/lASB8u0l9PplM1mU0BAgAICAnTdddepW7ducjqd2rhxo2677Tb17NlTNptNtbW1TKc+gk27HrZ8+XIdO3ZMV155pUaNGqVRo0ZJkq677jrZ7XZt2LBBb7/9tq644gqVlZVp7969mj17trp16+blyv3Duf72799fkyZN0qpVq5SXl6d9+/ZpzJgxmjNnjiRpw4YN+vDDD/lF1EGff/65kpKSJEmDBg3Sfffdp3//939XYmKiQkJC1NLSooSEBMXExGjnzp2y29no1V6/+c1v9MpKwtMAAAjaSURBVM0336hv37664447dN9990k6+wdhVVWVmpqaXCG6adMmHTx4UI8++ii/G3wAr3IPeuKJJ1RcXKykpCS1tLQoIyNDb7zxhmv50KFDdffdd2vAgAGaM2eOnn32Wd1xxx38oLTT9/vrdDo1Y8YM7d27VzNnztSECRPUs+f/X3M5MDBQhmGotrbWixX7l5UrV2ratGl65ZVXXLcNHTpU8+bN07333qvQ0FAFBARIOrtZPSQkRI2Njd4q16888cQTOnLkiJKTk2W32/Xqq6/q2LFjks5eMzwwMFAOh0M9e/bUu+++qxUrViglJYXfDT6CidRDjh07ppMnT+o//uM/JEmNjY0aMmSI5s+fL6fTqbS0NElnfzEVFBSotrZWr7zyihISErxZtt9orb+DBw/WggUL1NjYqBtvvFGZmZmuqWnr1q1avny5QkNDvVy5/3A6nZo6dao++OADNTU16Ze//KUkKS4uTpJUVlamLVu2qKqqSlu3btWLL77IxN8OR48eVXl5uXJyciRJ0dHRWrx4serq6iSd3Szeq1cvRUVF6V/+5V+0Y8cOvfTSSxo0aJA3y8b3MJF6SEREhKqrq11HkDocDiUnJ2vZsmXKzs7Wf/3Xf0mSvvjiCxUWFurf/u3fCNEOaK2/kyZN0tKlS7Vs2TLV1dXp5ZdfVk1Njerr6/XSSy/pmmuu8XLV/sPpdKqsrEw33nij5s+fr7y8PGVnZ593n1OnTunrr7+W0+nUypUr6W87de/eXQ0NDdq+fbsMw9APfvADhYaGqqysTJLU0tKi5uZm1dbWuv5ASUxM9HLV+D4ONvKQgIAAVVdX69ChQ+rTp48iIyMlSQMHDpTdbtfevXt1yy23yOl0KiUlhVMHOuhi/bXZbPrv//5vPfTQQxo7dqzGjRun3r17e7li/2Kz2ZSUlKShQ4eqf//+io6O1muvvaZTp05p5MiRkqTQ0FAlJyfr5ptvpr8dYLfblZiYqMGDB7sOLHz//fc1dOhQ1++HlpYW/cM//IN++tOfMon6ICZSDxo/fry++eYbvfvuuyoqKpJ09hfUNddco6NHj6qlpUWxsbGKiorycqX+qa3+DhkyROXl5f/3lnq85C9XWFiYpLPT/tixYzVnzhzl5eVp3bp1+vDDDzVjxgzV1NRwekYHBQUF6frrr1dYWJicTqecTqcCAgJcvwdyc3M1ffp0xcTEaODAgV6uFq3ht4pFmpubz/va6XS6DiIqKyvTW2+9pby8PEnSd999J8Mw1NDQ4I1S/VJH+yuJ/nbA3/dX0nl/hDgcDt1yyy1avHixXnjhBT3//PN66qmnFBYWxqkul9Bab88dpGWz2WS329WtWzf16dNHeXl5Wr16tTIzMzkNzofxfqQWcjqd2rJliyZOnOi6oLfdbldJSYneeecdbdu2TcHBwTp+/LhefPFFDR482MsV+xf6a63v97etK22tX79eOTk5WrVqFfv0O+BSvc3IyFBRUZGampq0dOlS9on6OgOW2bt3r3HNNdcY+/btc93mdDoNwzCMhoYGo6qqyti3b59x/Phxb5Xo1+ivtVrr7/cdPXrUmDVrlvHll196uDL/11Zvz71+c3NzjZ/85CfGwYMHvVEeOoiDjdzo3FVJzomKipJhGDpw4ICGDx9+3hV0AgICFBwcrKioKE7BaCf6a62O9Fc6u3n31ltv1ZVXXumNcv1Ke3t77j69e/fWHXfcodjYWG+VjA5gH6kb2e12GYahTz/91HXbsGHDtG/fPtXU1Mhms/GejSbQX2t1tL9BQUGuA5BwcR3prWEYioqK4qBDP8JE6gbf/2vz3Xff1ZIlS7Rv3z5dc801uv7667V//37l5eVp0qRJHIhxGeivteivdS6nt/TY/3CwkUktLS0KCAiQYRiqqKhQXV2dQkND9eyzz6q5uVnh4eG666679MEHH+hnP/uZrr76am+X7Ffor7Xor3XobdfBJQJNOHe+l9Pp1KxZs3T69Gn16NFDI0aM0NKlS3XgwAGtX79e8+fPV2Vlpfr06cMPSwfQX2vRX+vQ266FTbsm2Ww2PfbYY7rqqquUkZGh8PBwvffee9q9e7fuvfde/eM//qPi4+MVHh6uSZMmqU+fPt4u2a/QX2vRX+vQ2y7EC0cK+73c3FzX599++63x0EMPGeXl5YZhnD3tYv/+/cb06dONt956y3W/lpYWj9fpr+ivteivdeht18RRux307bffKj8/X5mZmZLOHsYeERGhLVu26MyZM3I4HBo0aJDi4+Ndb4MkiUvTtRP9tRb9tQ697br4H+ygyMhIzZ07V42Nja4fmFtuuUXbtm3Ttm3bVFNTo+DgYPXu3VtVVVVqaWnh2qMdQH+tRX+tQ2+7Lo7avQzNzc06ePCgXn75ZfXp00e//vWvlZ2draKiItlsNg0ePFi5ubl6+eWXeaeGy0B/rUV/rUNvuyYONmqHZcuWac+ePerZs6fq6uoUERGhvn37KjExUZ988ol27NihuXPnKioqSo2NjWpsbNTcuXP5QWkn+mst+msdeguJifSSvvnmG916662SpEcffVSbNm3SLbfc4jrSrrKyUu+++67Cw8M1d+5cSWcPfWe/R/vQX2vRX+vQW5zDRHoJPXr00MSJE/Xee+9pwoQJevzxx+VwOLRlyxb95S9/0Zo1axQaGqq3335bhmFo1KhRkrg6SXvRX2vRX+vQW5zDBRna4eqrr9bvf/97paWlKSAgQKmpqbr11ltlGIY+/vhjVVVVqa6uTpMnT5bED0pH0V9r0V/r0FtI4jzSjtizZ49x7bXXGn/4wx8uWHbu7Y9w+eivteivdeht18am3Q7o16+fxowZo3nz5qlXr14aNmzYecv5a9Mc+mst+msdetu1EaQd1K9fP918882aPXu2rrjiCl133XWS+EFxF/prLfprHXrbdXHU7mXav3+/unfvzmHsFqG/1qK/1qG3XQ9BCgCACZzQBACACQQpAAAmEKQAAJhAkAIAYAJBCgCACQQpAAAmEKQAAJhAkAIAYML/AiLuW25o4xXxAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 576x414 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mpf.plot(df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "ap = mpf.make_addplot((s.combine_first(sbase)).values)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x414 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mpf.plot(df,addplot=ap)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "def myplot(data):\n",
    "    plt.plot(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "y = s.combine_first(sbase).values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([    nan,     nan,     nan, 3076.78,     nan,     nan,     nan,\n",
       "       3091.84,     nan,     nan,     nan,     nan,     nan, 3108.46,\n",
       "           nan,     nan,     nan, 3140.52,     nan,     nan])"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = s.combine_first(sbase).index.values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f819a317350>]"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x,y,color='g')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([    nan,     nan,     nan, 3076.78,     nan,     nan,     nan,\n",
       "       3091.84,     nan,     nan,     nan,     nan,     nan, 3108.46,\n",
       "           nan,     nan,     nan, 3140.52,     nan,     nan])"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "ap = mpf.make_addplot(y,scatter=True,markersize=200)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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TZs2cfToUT777DMA5s2bR0ZGBvn5+SxYsICZM2dSV1cXqN0REREBAlhIIyIiWLhwIUlJSQCkp6dTUlLChg0buOKKK+jRowdOp5NJkyaxfv16AFatWsUvf/lLevfuTWRkJAsXLmTUqFHU1NSwbds2brzxRgCGDx9Ov3792LZtW6B2R0REBAhgIU1ISGDMmDEAeL1eVq9ezfjx49m7dy8pKSnN6yUnJ7Nnzx4ACgsLqa2tZfLkyUyYMIGnn34an89HaWkp8fHxxMbGNm+XkpJCSUlJoHZHREQECMJt1PLy8sjNzSUlJYXFixcza9Ys3CPD3r4AAA75SURBVG538+PR0dF4PB4AampqKCgo4KWXXqKhoYEpU6aQnJzMgAEDiIqKOu55o6KiqK2tPeH3ORwOkhLi7N2pdgilWDoTd4RLubWR8msv5dc+/sit0+k46eMBL6RTpkwhJyeHtWvXkp2dTWpq6nGDizweT3On2b17d6688kri4pqScN111/GXv/yFYcOGUV9ff9zz1tXVHdehHmOaJmX7j9i4R+0TSrF0JkkJccqtjZRfeym/9vFHbg3DPGkxDdih3eLiYj766COgqUvMysri6NGjOByO5kO5AEVFRaSlpQHQv39/jhz5/wQ4nU5cLhepqalUV1dz+PDhFrcTEREJlIAV0qqqKmbPnk1FRQUABQUFNDY2cueddzaP1vV6vaxYsYIrr7wSgKuvvpo33niDmpoa6urqePfdd0lPTycuLo4xY8awfPlyAD7++GOqq6u58MILA7U7IiIiQAAP7Y4cOZJp06YxdepUDMPA7XazaNEiRo4cye23387kyZMxTZOLLrqISZMmATB+/HiKi4vJysoiOjqacePGcd111wGwYMEC5syZw6pVq4iLi+O555477lyriIhIIDhM0zSDHYRdevXqhWGY7PiyNNihkJYcD0DRvuogR9I56RyTvZRfeym/9vFHbs8florT6eDQoUMtPq4pAkVERCxQIRUREbFAhVRERMQCFVIRERELVEhFREQsUCEVERGxQIVURETEAhVSERERC1RIRURELFAhFRERsUCFVERExAIVUhEREQtUSEVERCxQIRUREbFAhVRERMQCFVIRERELVEhFREQsiAh2AJ1NWnJ8sEMQEZEAUkcaQJ76xmCHICIifqaO1M+K9lUHOwQREQkgdaQiIiIWqJCKiIhYoEIqIiJigQqpiIiIBSqkIiIiFqiQioiIWKBCKiIiYoEKqYiIiAUqpCIiIhaokIqIiFjgME3TDHYQdnG5XBiGQffuPYIdCgBOpwPD6LTpDirl1l7Kr72UX/v4I7c1NYdxOp34fL4WH+/Uc+263W4aGhpwOh3BDqVZKMXS2Si39lJ+7aX82sdqbp1OJ263u9XHO3VHKiIiYjedIxUREbFAhVS6DB18kXCl125oUyENIfpjsZfDoXNQdikuLsYwjGCH0WnptRvaOvVgo3Cxb98+kpOTcTgcmKapPxo/W758OdXV1Zx33nkMHTqUvn37BjukTmXGjBn07t2befPmBTuUTmfJkiVUVVVxwQUXcM4559CnT59ghyQtcD300EMPBTuIrmzBggW8+eabJCUl0b9/fxVTP7vvvvv4+uuviYyMZPPmzURFRTF06FDl2E/mzZvHkSNHeOKJJ4IdSqczZ84ciouLiYqKYtOmTURGRnLOOefotRuC1JEG2f79++nXrx8rV67ENE1Gjx6tYuon77//Pvv27WP58uUA/OEPf+C9997j2muvVW794LHHHuOzzz5j7dq1AHzwwQccOHCAvn37cvbZZ5OamhrkCMPXRx99RFlZGcuWLQPgv/7rv1i2bBlXX331SS/DkODQOdIgqq6upr6+nosvvphevXrx5ptvsnXrVoDmYiod16NHD04//XSqqqoAuPTSSzl69CiPPvooS5Ysobi4OMgRhq+amhpM0+Tiiy+msrKS5cuX8+yzz7J9+3ZeffVVHn/8cb766qtghxm23G43cXFxVFZWAjBp0iTcbjdVVVV6XwhBOrQbRDExMaSmppKRkUF8fDx///vfKSgooEePHs3nTGtqaoiKigp2qGHJ6/WydOlSDhw4wNdff828efP42c9+RkJCArt37+abb75hxIgROJ1OdajtFBUVRVJSEjt27GDz5s389a9/5fnnn+faa6/lnHPOYd++fezfv5+f/vSngAbLtJVhGDgcDlwuFy6Xi3PPPZfIyEgMw2D16tVcfvnl9OjRA4fDwdGjR9Wdhggd2g2wRYsWUVFRwRlnnMGoUaMYNWoUAOeeey5Op5NVq1bx1ltvcdppp1FaWsoXX3zB9OnTiYyMDHLk4eFYfvv168fEiRNZvHgx69atY+fOnYwZM4YZM2YAsGrVKt5//329EbXTxx9/THp6OgADBw7khhtu4D/+4z8YNGgQsbGx+Hw+0tLS6N+/P9u3b8fp1EGvtnriiSf49ttv6du3L1dddRU33HAD0PSBsLq6msbGxuYiunbtWoqKirjrrrv03hAC9CoPoPvvv5/i4mLS09Px+XzMnTuX1157rfnxYcOGcd1115GamsqMGTN49NFHueqqq/SH0kY/zK9hGEybNo0vvviCO++8k/Hjx9Ojx//PuRwREYFpmhw9ejSIEYeXF154galTp/LSSy81Lxs2bBj33nsvv/jFL+jWrRsulwtoOqweGxtLQ0NDsMINK/fffz/ffPMNmZmZOJ1OXn75ZSoqKoCmOcMjIiJwu9306NGDd955h+eee46srCy9N4QIdaQBUlFRQWVlJf/5n/8JQENDA0OHDmXWrFkYhsHkyZOBpjem/Px8jh49yksvvURaWlowww4bLeV3yJAhzJ49m4aGBkaMGMG8efOau6ZNmzaxaNEiunXrFuTIw4dhGEyZMoU1a9bQ2NjIb37zGwBSUlIAKC0tZePGjVRXV7Np0yaeeeYZdfxtUFZWRnl5OXl5eQAkJSXx8MMP4/F4gKbD4j179iQxMZF//dd/5dNPP+X5559n4MCBwQxbfkAdaYDEx8dTU1PTPILU7XaTmZnJ008/TW5uLv/93/8NwGeffca2bdv493//dxXRdmgpvxMnTmThwoU8/fTTeDweXnzxRY4cOUJdXR3PP/88gwcPDnLU4cMwDEpLSxkxYgSzZs1i3bp15ObmHrfOoUOH+Pvf/45hGLzwwgvKbxvFxMRQX1/PJ598gmma/OQnP6Fbt26UlpYC4PP58Hq9HD16tPkDyqBBg4IctfyQBhsFiMvloqamhr1799KnTx8SEhIAOOuss3A6nXzxxReMHTsWwzDIysrSpQPtdLL8OhwO/ud//odbbrmFSy65hIyMDHr37h3kiMOLw+EgPT2dYcOG0a9fP5KSknjllVc4dOgQF154IQDdunUjMzOTiy++WPltB6fTyaBBgxgyZEjzwML33nuPYcOGNb8/+Hw+/umf/olrrrlGnWgIUkcaQOPGjePbb7/lnXfeobCwEGh6gxo8eDBlZWX4fD6Sk5NJTEwMcqThqbX8Dh06lPLy8n/cUk8v+Y6Ki4sDmrr9Sy65hBkzZrBu3TqWL1/O+++/z7Rp0zhy5Iguz2inqKgozjvvPOLi4jAMA8MwcLlcze8DK1eu5I477qB///6cddZZQY5WWqJ3FZt4vd7jfjYMo3kQUWlpKW+++Sbr1q0D4Pvvv8c0Terr64MRalhqb34B5bcdfpxf4LgPIW63m7Fjx/Lwww/z1FNP8fjjj/Pggw8SFxenS11OoaXcHhuk5XA4cDqdREZG0qdPH9atW8eSJUuYN2+eLoMLYbofqY0Mw2Djxo1MmDCheUJvp9PJnj17ePvtt9m6dSvR0dHs37+fZ555hiFDhgQ54vCi/Nrrh/ltbaatFStWkJeXx+LFi3VOvx1Oldu5c+dSWFhIY2MjCxcu1DnRUGeKbb744gtz8ODB5s6dO5uXGYZhmqZp1tfXm9XV1ebOnTvN/fv3ByvEsKb82qul/P5QWVmZeffdd5tfffVVgCMLf63l9tjrd+XKlebPf/5zs6ioKBjhSTtpsJEfHZuV5JjExERM02T37t1ccMEFx82g43K5iI6OJjExUZdgtJHya6/25BeaDu9eeumlnHHGGcEIN6y0NbfH1unduzdXXXUVycnJwQpZ2kHnSP3I6XRimiYffvhh87Lhw4ezc+dOjhw5gsPh0D0bLVB+7dXe/EZFRTUPQJKTa09uTdMkMTFRgw7DiDpSP/jhp8133nmHJ598kp07dzJ48GDOO+88du3axbp165g4caIGYnSA8msv5dc+Hcmtchx+NNjIIp/Ph8vlwjRNDh48iMfjoVu3bjz66KN4vV569erFtddey5o1a/jlL3/J2WefHeyQw4ryay/l1z7KbdehKQItOHa9l2EY3H333Rw+fJju3bszcuRIFi5cyO7du1mxYgWzZs2iqqqKPn366I+lHZRfeym/9lFuuxYd2rXI4XBwzz33cOaZZzJ37lx69erFu+++y44dO/jFL37BP//zPzNgwAB69erFxIkT6dOnT7BDDivKr72UX/sot11IEEYKh72VK1c2f//dd9+Zt9xyi1leXm6aZtNlF7t27TLvuOMO880332xez+fzBTzOcKX82kv5tY9y2zVp1G47fffdd2zYsIF58+YBTcPY4+Pj2bhxI7W1tbjdbgYOHMiAAQOab4MEaGq6NlJ+7aX82ke57br0P9hOCQkJzJw5k4aGhuY/mLFjx7J161a2bt3KkSNHiI6Opnfv3lRXV+Pz+TT3aDsov/ZSfu2j3HZdGrXbAV6vl6KiIl588UX69OnD7373O3JzcyksLMThcDBkyBBWrlzJiy++qDs1dIDyay/l1z7KbdekwUZt8PTTT/P555/To0cPPB4P8fHx9O3bl0GDBrFlyxY+/fRTZs6cSWJiIg0NDTQ0NDBz5kz9obSR8msv5dc+yq2AOtJT+vbbb7n00ksBuOuuu1i7di1jx45tHmlXVVXFO++8Q69evZg5cybQNPRd5z3aRvm1l/JrH+VWjlFHegrdu3dnwoQJvPvuu4wfP5777rsPt9vNxo0b+etf/8rSpUvp1q0bb731FqZpMmrUKECzk7SV8msv5dc+yq0cowkZ2uDss8/mD3/4A5MnT8blcpGdnc2ll16KaZps3ryZ6upqPB4PV1xxBaA/lPZSfu2l/NpHuRVA15G2x+eff26ec8455h//+McTHjt2+yPpOOXXXsqvfZTbrk2Hdtvh9NNPZ8yYMdx777307NmT4cOHH/e4Pm1ao/zaS/m1j3LbtamQttPpp5/OxRdfzPTp0znttNM499xzAf2h+Ivyay/l1z7KbdelUbsdtGvXLmJiYjSM3SbKr72UX/sot12PCqmIiIgFuqBJRETEAhVSERERC1RIRURELFAhFRERsUCFVERExAIVUhEREQtUSEVERCxQIRUREbHg/wDghpyXjVO2VgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 576x414 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mpf.plot(df,addplot=ap)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([    nan,     nan,     nan, 3076.78,     nan,     nan,     nan,\n",
       "       3091.84,     nan,     nan,     nan,     nan,     nan, 3108.46,\n",
       "           nan,     nan,     nan, 3140.52,     nan,     nan])"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['2019-11-01T00:00:00.000000000', '2019-11-04T00:00:00.000000000',\n",
       "       '2019-11-05T00:00:00.000000000', '2019-11-06T00:00:00.000000000',\n",
       "       '2019-11-07T00:00:00.000000000', '2019-11-08T00:00:00.000000000',\n",
       "       '2019-11-11T00:00:00.000000000', '2019-11-12T00:00:00.000000000',\n",
       "       '2019-11-13T00:00:00.000000000', '2019-11-14T00:00:00.000000000',\n",
       "       '2019-11-15T00:00:00.000000000', '2019-11-18T00:00:00.000000000',\n",
       "       '2019-11-19T00:00:00.000000000', '2019-11-20T00:00:00.000000000',\n",
       "       '2019-11-21T00:00:00.000000000', '2019-11-22T00:00:00.000000000',\n",
       "       '2019-11-25T00:00:00.000000000', '2019-11-26T00:00:00.000000000',\n",
       "       '2019-11-27T00:00:00.000000000', '2019-11-29T00:00:00.000000000'],\n",
       "      dtype='datetime64[ns]')"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "mask = np.isfinite(y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([False, False, False,  True, False, False, False,  True, False,\n",
       "       False, False, False, False,  True, False, False, False,  True,\n",
       "       False, False])"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mask"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f819a1d4690>]"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x[mask],y[mask])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [],
   "source": [
    "sparse = s.combine_first(sbase[s.index[0]:s.index[-1]])\n",
    "#sparse\n",
    "full   = sparse.interpolate(method='linear')\n",
    "#full"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2019-11-01         NaN\n",
       "2019-11-04         NaN\n",
       "2019-11-05         NaN\n",
       "2019-11-06    3076.780\n",
       "2019-11-07    3080.545\n",
       "2019-11-08    3084.310\n",
       "2019-11-11    3088.075\n",
       "2019-11-12    3091.840\n",
       "2019-11-13    3094.610\n",
       "2019-11-14    3097.380\n",
       "2019-11-15    3100.150\n",
       "2019-11-18    3102.920\n",
       "2019-11-19    3105.690\n",
       "2019-11-20    3108.460\n",
       "2019-11-21    3116.475\n",
       "2019-11-22    3124.490\n",
       "2019-11-25    3132.505\n",
       "2019-11-26    3140.520\n",
       "2019-11-27         NaN\n",
       "2019-11-29         NaN\n",
       "dtype: float64"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "line = full.combine_first(sbase)\n",
    "line"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [],
   "source": [
    "# fips = sparse.interpolate(method='linear')#,limit_direction='both')\n",
    "# bips = sparse.interpolate(method='linear',limit_direction='backward')\n",
    "\n",
    "# #fips\n",
    "# #bips\n",
    "\n",
    "# def retnan(y1,y2):\n",
    "#     if np.isfinite(y1):\n",
    "#         return y2\n",
    "#     else:\n",
    "#         return y1\n",
    "    \n",
    "# ips = fips.combine(bips,retnan)\n",
    "# ips"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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9IJy3lqbycYD9Tudwn/a6XS9G3c6ueP7IE1D6zW8j3rmnZzRtz4JcVitFkpKSk65T5dUEI+XV1rNvPUHWJWWhwEE+vkw6rJobr2kvVN3OomIiPdRsGkmvPFf/mXVdby/+SCLth6mxu7Ax2rhxl5R3N0vhtDTXNNJREREwUY8j48vi7bmMH9jNseq6nc6XR0fzm+uiCM6tIWbixMREU+mYCMexb9DT8JHTiDlvxkAVB34keL//JPUw3tIPeFx3jiBEhER51OwEY/S6orb8AuNoqbgACX/mUdl+gZ3lyQiIl5EwUY8StHKFMraxvHDv1fh8/Rod5cjIiJeRsFGPIq9NJ/K0nxdqFJERC6Igo2IB9IaIhGRC+OySyqIiIiIOJsmNuJyZrzMg4iIeAYFG5Nz9iGNc4UUHVIRERFXUrARl2tuF+0UERHXUbCRX0QTGRER8SRaPCwiIiKmoWAjIiIipqFgI/IL7MsuprK61t1liIjITxRsRERExDQUbERERMQ0FGxERETENLTdWy6ItnmLiIgn0sRGRERETEPBRkRERExDwUZERERMQ8FGRERETEPBRkRERExDwUZERERMQ8FGRERETEPBRkRERExDwUZERERMQ8FGRERETEPBRkRERExDwUZERERMQ8FGRERETEPBRkRERExDwUZERERMw9fdBcjPWvj7nfMx+7KLXVCJiIiId9LExkPEx4S5uwQRERGvp4mNh9FERkRE5MJpYiMiIiKmoYmNeBRNrERE5JfQxEZERERMQ8FGRERETEPBRkRERExDwUZERERMQ8FGRERETEPBRkRERExDwUZERERMQ8FGRERETEPBRkRERExDwUZERERMQ8FGRERETEPBRkRERExDwUZERERMQ8FGRERETMOlwWblypXcdNNNJCUlMXr0aPbs2QPAvHnzGD58OMOGDePJJ5+kpqam4TkLFy5kyJAhXHXVVTz11FPU1tYCkJOTw/jx4xk2bBi33HIL69atc+VbEREREQ/ksmCTk5PD9OnTSUlJYcWKFSQlJTF16lR++OEH3nnnHT744AOWL19OYWEh8+fPB2DTpk3MmzePjz76iC+//JLy8nK+//57AKZNm8bgwYNZuXIlM2bMYOLEiVRVVbnq7YiIiIgHclmw8fX1ZdasWURHRwOQmJhIRkYGK1asYMSIEbRq1Qqr1cro0aNZvnw5AIsXL+bOO++kdevW+Pn5MWvWLPr3709paSnr16/njjvuAKB37960a9eO9evXu+rtiIiIiAdyWbCJiIhg4MCBANTV1fHxxx8zdOhQMjMziY2NbXhcTEwM+/fvByAtLY2KigrGjBnDsGHDePnll7Hb7WRlZREWFkZgYGDD82JjY8nIyHDV2xEREREP5OvqL5iamkpKSgqxsbHMnTuXyZMnY7PZGu4PCAigsrISgNLSUjZv3sybb75JTU0N48aNIyYmhk6dOuHv73/S6/r7+1NRUXHK17NYLERHBDv3TTUhb6pV6tl8fdQ3L6S+eR/1zDs5o29Wq+WM97k82IwbN46xY8eydOlSRo0aRVxc3EmLhSsrKxsmMS1btmTkyJEEB9d/Q37961/zzTffkJCQQHV19UmvW1VVddIE5zjDMDiUV+bEd9S0vKlWqRcdEay+eSH1zfuoZ97JGX1zOIwzhhuXHYpKT09n7dq1QP0UJTk5mfLyciwWS8OhJ4B9+/YRHx8PQIcOHSgr+/mbYbVa8fHxIS4ujuLiYo4dO3ba54mIiEjz5LJgU1RUxJQpU8jNzQVg8+bN1NbW8tBDDzXshqqrq2PhwoWMHDkSgJtuuol//etflJaWUlVVxWeffUZiYiLBwcEMHDiQBQsWAPDdd99RXFzM5Zdf7qq3IyIiIh7IZYei+vXrx4MPPsj48eNxOBzYbDZmz55Nv379uO+++xgzZgyGYTBgwABGjx4NwNChQ0lPTyc5OZmAgACGDBnCr3/9awBmzJjB448/zuLFiwkODua11147aa2OiIiIND8WwzAMdxfhLKGhoTgcBlt2Zrm7lHOKjwkDYF92sZsrkfOl4/7eSX3zPuqZd3JG3/okxGG1WigpKTnlPl1SQURERExDwUZERERMQ8FGRERETEPBRkRERExDwUZERERMQ8FGRERETEPBRkRERExDwUZERERMQ8FGRERETEPBRkRERExDwUZERERMQ8FGRERETEPBRkRERExDwUZERERMQ8FGRERETEPBRkRERExDwUZERERMQ8FGRERETEPBRkRERExDwUZERERMQ8FGRERETEPBRkREREzD190FNCfxMWHuLkFERMTUNLHxIJXVte4uQURExKtpYuNC+7KL3V2CiIiIqWliIyIiIqahYCMiIiKmoWAjIiIipqFgIyIiIqahYCMiIiKmoWAj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\n",
      "text/plain": [
       "<Figure size 720x517.5 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ap = mpf.make_addplot(ips)\n",
    "mpf.plot(df,addplot=ap,figscale=1.25)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2019-11-06    3076.78\n",
       "2019-11-12    3091.84\n",
       "2019-11-20    3108.46\n",
       "2019-11-26    3140.52\n",
       "dtype: float64"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DatetimeIndex(['2019-11-06', '2019-11-12', '2019-11-20', '2019-11-26'], dtype='datetime64[ns]', freq=None)"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [],
   "source": [
    "apt = mpf.make_addplot(s.values)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "ename": "ValueError",
     "evalue": "x and y must have same first dimension, but have shapes (20,) and (4,)",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mValueError\u001b[0m                                Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-53-f5baba72ab94>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mmpf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0maddplot\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mapt\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;32m~/code/mplfinance/src/mplfinance/plotting.py\u001b[0m in \u001b[0;36mdecorator\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m     33\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0mdecorator\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     34\u001b[0m         \u001b[0;32mwith\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrc_context\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 35\u001b[0;31m             \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     36\u001b[0m     \u001b[0;32mreturn\u001b[0m \u001b[0mdecorator\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     37\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/code/mplfinance/src/mplfinance/plotting.py\u001b[0m in \u001b[0;36mplot\u001b[0;34m(data, **kwargs)\u001b[0m\n\u001b[1;32m    375\u001b[0m                     \u001b[0mls\u001b[0m    \u001b[0;34m=\u001b[0m \u001b[0mapdict\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'linestyle'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    376\u001b[0m                     \u001b[0mcolor\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mapdict\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'color'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 377\u001b[0;31m                     \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mxdates\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mydata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlinestyle\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mls\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcolor\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcolor\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    378\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    379\u001b[0m     \u001b[0;31m# put the twinx() on the \"other\" side:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_axes.py\u001b[0m in \u001b[0;36mplot\u001b[0;34m(self, scalex, scaley, data, *args, **kwargs)\u001b[0m\n\u001b[1;32m   1664\u001b[0m         \"\"\"\n\u001b[1;32m   1665\u001b[0m         \u001b[0mkwargs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcbook\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnormalize_kwargs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmlines\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mLine2D\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_alias_map\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1666\u001b[0;31m         \u001b[0mlines\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_lines\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1667\u001b[0m         \u001b[0;32mfor\u001b[0m \u001b[0mline\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mlines\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1668\u001b[0m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd_line\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mline\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_base.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m    223\u001b[0m                 \u001b[0mthis\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    224\u001b[0m                 \u001b[0margs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 225\u001b[0;31m             \u001b[0;32myield\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_plot_args\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mthis\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    226\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    227\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0mget_next_color\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_base.py\u001b[0m in \u001b[0;36m_plot_args\u001b[0;34m(self, tup, kwargs)\u001b[0m\n\u001b[1;32m    389\u001b[0m             \u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mindex_of\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtup\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    390\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 391\u001b[0;31m         \u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_xy_from_xy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    392\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    393\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcommand\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'plot'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_base.py\u001b[0m in \u001b[0;36m_xy_from_xy\u001b[0;34m(self, x, y)\u001b[0m\n\u001b[1;32m    268\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    269\u001b[0m             raise ValueError(\"x and y must have same first dimension, but \"\n\u001b[0;32m--> 270\u001b[0;31m                              \"have shapes {} and {}\".format(x.shape, y.shape))\n\u001b[0m\u001b[1;32m    271\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m2\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    272\u001b[0m             raise ValueError(\"x and y can be no greater than 2-D, but have \"\n",
      "\u001b[0;31mValueError\u001b[0m: x and y must have same first dimension, but have shapes (20,) and (4,)"
     ]
    },
    {
     "data": {
      "image/png": "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er16+eWXNWbMGJ07d04//vGPNXz4cM2ePTugiwEAwFaom+X3Gafb7dbevXu1dOlSxcXFacqUKcrPz1dVVZXP2YULF2rcuHGKjIzUHXfcoQceeEAffvih4UMGAKB3wtEsv884XS6XHA6H0tPTO2/LysrSoUOHevx5Xq9XdXV1euyxx256JjUl3u8FonvRkYPYzxIb2mNDO+xnx+GI8LktlM3q4DecbrdbTqezy21Op1NXr17t8eetWbNGHo9Hc+fOvemZC581+71AdC81JZ79LLGhPTa0w352PB6vTzxD2awOfsMZGxur5uauv7HNzc2Ki4u76c954403tGvXLm3btk3R0dF+LwIAgGAIR7P8fo8zLS1N7e3tcrlcnbfV19crIyOj2/M7d+7Uhg0btHXrVg0bNszvBQAAECzhaJbfcMbGxqqgoECVlZVyu906fPiwampqVFhY6HN29+7dWr16tTZv3qxRo0YFdAEAAARLOJoV0Ps4S0tL1dLSotzcXJWUlKisrEyZmZmqq6tTTk5O57lf//rXamxs1Lx585STk6OcnBytXLky4IsBAMBWqJsV4fV6vaF8AN1JTEyUJB3+yBXuu75l8KICe2xojw3tsJ+dnLG3y+GIUGNjY1jvl4/cAwDAAOEEAMAA4QQAwADhBADAAOEEAMAA4QQAwADhBADAAOEEAMAA4QQAwADhBADAAOEEAMAA4QQAwADhBADAAOEEAMAA4QQAwADhBADAAOEEAMAA4QQAwADhBADAAOEEAMAA4QQAwADhBADAAOEEAMAA4QQAwADhBADAAOEEAMAA4QQAwADhBADAAOEEAMAA4QQAwADhBADAAOEEAMAA4QQAwADhBADAAOEEAMAA4QQAwADhBADAAOEEAMAA4QQAwADhBADAAOEEAMAA4QQAwADhBADAAOEEAMAA4QQAwADhBADAAOEEAMAA4QQAwEBA4WxsbFRxcbGys7OVl5en6urqbs95vV5VVFRo+vTpmj59ulatWiWv1xvUCwYAoCehblZkIBdRXl6uqKgo1dbW6tSpU1q8eLGysrKUmZnZ5dybb76pd999V1VVVYqIiNCCBQs0atQofe973wvkbgAAsBbqZkV4/eTV7XZr2rRpqq6uVnp6uiTp2Wef1de+9jUtX768y9n58+erqKhIjz32mCRpx44d2rFjh956660u5wYNGiSP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\n",
      "text/plain": [
       "<Figure size 576x414 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mpf.plot(df,addplot=apt)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
